<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apple iOS (iPhone OS)</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" />
    <link rel="up" href="build_unix.html" title="Chapter 7.  Building Berkeley DB for UNIX/POSIX" />
    <link rel="prev" href="build_unix_freebsd.html" title="FreeBSD" />
    <link rel="next" href="build_unix_irix.html" title="IRIX" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Apple iOS (iPhone OS)</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="build_unix_freebsd.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 7. 
		Building Berkeley DB for UNIX/POSIX
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="build_unix_irix.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="build_unix_iphone"></a>Apple iOS (iPhone OS)</h2>
          </div>
        </div>
      </div>
      <p>
        Building Berkeley DB in Apple iOS (known as iPhone OS previously)
        is the same as building for a conventional UNIX platform.  This
        section lists the commands for building Berkeley DB in both the
        iPhone simulator (a software simulator included in the iPhone SDK
        that you can use to test your application without using the
        iPhone/iPod Touch) and the iPhone device. 
    </p>
      <p>
        Prior to building BDB in an iPhone simulator/iPhone device, set the
        required environment variables for iOS (iPhone OS). For a
        simulator/iPhone version 4.2 or older, set the LDFLAGS variable as
        follows:
    </p>
      <pre class="programlisting">export LDFLAGS="-L$SDKROOT/usr/lib/"</pre>
      <p>
        Otherwise, set LDFLAGS as follows:
    </p>
      <pre class="programlisting">export LDFLAGS="-L$SDKROOT/usr/lib/system/"</pre>
      <p>
        The steps to build BDB in an iPhone simulator are as follows:
    </p>
      <pre class="programlisting">export CFLAGS="-arch i386 -pipe -no-cpp-precomp --sysroot=$SDKROOT"
export CXXFLAGS="-arch i386 -pipe -no-cpp-precomp --sysroot=$SDKROOT"
cd $BDB_HOME/build_unix
../dist/configure --host=i386-apple-darwin\
                 --prefix=$SDKROOT ...
make</pre>
      <p>
        The steps to build BDB in an iPhone device are as follows:
    </p>
      <pre class="programlisting">export CFLAGS="-arch armv6 -pipe -Os -gdwarf-2\
               -no-cpp-precomp -mthumb -isysroot $SDKROOT "
export CXXFLAGS="-arch armv6 -pipe -Os -gdwarf-2\
                 -no-cpp-precomp -mthumb -isysroot $SDKROOT "
cd $BDB_HOME/build_unix
../dist/configure --host=arm-apple-darwin9\
                  --prefix=$SDKROOT ...           
make</pre>
      <p>
        Both sets of commands create the BDB dynamic library -
        libdb-5.3.dylib. To build the static library, libdb-5.3.a, add the
        <code class="literal">--enable-shared=no</code> option while configuring.
    </p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="build_unix_freebsd.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="build_unix.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="build_unix_irix.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">FreeBSD </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> IRIX</td>
        </tr>
      </table>
    </div>
  </body>
</html>
